﻿#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
//int main()
//{
//	int n = 9;
//	float* pFloat = (float*)&n;
//	
//	printf("n的值为：%d\n", n);
//	printf("*pFloat的值为：%f\n", *pFloat);
//	
//	*pFloat = 9.0;
//	
//	printf("num的值为：%d\n", n);
//	printf("*pFloat的值为：%f\n", *pFloat);
//	return 0;
//}

//int main()
//{
//	float f = 5.5;
//	// 101.1
//	// 1.011 * 2^2
//	return 0;
//}
//
//int main()
//{
//	int n = 9;
//	//00000000000000000000000000001001
//	
//
//	//pfloat指向的是上述的二进制数
//	float* pFloat = (float*)&n;
//	//0   00000000    00000000000000000001001 
//	//S		  E					M
//	//0		-126(1-127)		0.00000000000000000001001
//	//(-1)^0*0.00000000000000000001001 * 2^(-126)
//
//	//E 在内存中全是0
//
//	printf("n的值为：%d\n", n);//这里打印9
//	printf("*pFloat的值为：%f\n", *pFloat);//这里显示6位小数 -- 0.000000
//	
//	*pFloat = 9.0;
//	//1001.0
//	//1.001 * 2^3
//	//(-1)^0 * 1.001 * 2^3
//	//S=0	M=1.001		E=3
//	//0 10000010 00100000000000000000000
//	//01000001000100000000000000000000
//	//用%d打印出来，⬆️就是补码
//	printf("num的值为：%d\n", n);//1,091,567,616
//	printf("*pFloat的值为：%f\n", *pFloat);//9.000000
//	
//	return 0;
//}
//
//int main()
//{
//    int i = 0;
//    int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
//    for (i = 0; i <= 12; i++)
//    {
//        arr[i] = 0;
//        printf("hello bit\n");
//    }
//    return 0;
//}
//
//#include<stdio.h>
//int isEven(int num)
//{
//	return (num % 2 == 0);
//}
//void swap(int* arr, int left, int right)
//{
//	int tmp = 0;
//	tmp = arr[left];
//	arr[left] = arr[right];
//	arr[right] = tmp;
//}
//
//
//void AdjustArray(int* arr, int sz)
//{
//	int left = 0;
//	int right = sz - 1;
//	int tmp = 0;
//
//	while (left < right)
//	{
//		//找到左边第一个偶数
//		while (left < right && !isEven(arr[left]))
//		{
//			left++;
//		}
//		//找到右边第一个奇数
//		while (left < right && isEven(arr[right]))
//		{
//			right--;
//		}
//		//都有left<right,是因为如果全部为奇数或者偶数的话，left（right）会发生越界。
//
//		//此时left和right 各自找到了一个偶数和一个奇数
//		if (left < right)//防止两个指针擦肩而过，进行交换
//		{
//			swap(arr, left, right);
//		}
//	}
//}
//
//int main()
//{
//	int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
//	int sz = sizeof(arr) / sizeof(arr[0]);
//	AdjustArray(arr, sz);
//	for (int i = 0; i < sz; i++)
//	{
//		printf("%d ", arr[i]);
//	}
//	return 0;
//}
//
//#include <stdio.h>
////代码1
//void test1()
//{
//	int n = 10;
//	int m = 20;
//	int* p = &n;
//	*p = 20;//ok?
//	p = &m; //ok?
//}
//void test2()
//{
//	//代码2
//	int n = 10;
//	int m = 20;
//	const int* p = &n;
//	*p = 20;//ok?
//	p = &m; //ok?
//}
//void test3()
//{
//	int n = 10;
//	int m = 20;
//	int* const p = &n;
//	*p = 20; //ok?
//	p = &m;  //ok?
//}
//int main()
//{
//	//测试无cosnt的
//	test1();
//	//测试const放在*的左边
//	test2();
//	//测试const放在*的右边
//	test3();
//	return 0;
//}
